package com.ybwh.springboot1.common;

/**
 * 常量类
 *@author Fanbeibei
 */
public class Constant {
	private Constant() {
	}
	
	/**
	 * 是
	 */
	public static final int YES = 1;
	/**
	 * 否
	 */
	public static final int NO = 0;


	/**
	 * 消息种类
	 */
	public static final String MESSAGE_CATEGORY_WORK_MESSAGE = "work_message";

	/**
	 * 小米
	 */
	public static final int XIAOMI_PUSH = 1;
	/**
	 * 信鸽
	 */
	public static final int XINGE_PUSH = 0;

	/** redis的key的前缀 */
	public static final String MESSAGE_TOKEN_KEY_PREFIX = "message:token:";

	/**
	 * 推送失败重复次数
	 */
	public static final Integer PUSH_RETRY_TIMES = 3;

	/**
	 * 
	 * 移动操作系统
	 * 
	 * @author: Fan Beibei
	 * @date: 2018年5月7日 下午2:13:51
	 */
	public static interface MobileOS {
		final String ANDROID = "Android";
		final String IOS = "IOS";
	}

	/**
	 * 
	 * 推送令牌类型
	 * 
	 * @author: Fan Beibei
	 * @date: 2018年5月23日 下午3:53:31
	 */
	public static interface TokenType {
		/**
		 * 信鸽token
		 */
		final int XG_TOKEN = 0;
		/**
		 * 小米regid
		 */
		final int XM_REGID = 1;
	}


	/**
	 *
	 * 推送渠道
	 *
	 * @author: Fan Beibei
	 * @date: 2018年5月23日 下午3:53:31
	 */
	public static interface PushChannel {
		/**
		 * 没有推送渠道(因版本过低没有推送或是历史数据没有存储推送渠道)
		 */
		final int NO_CHANNEL = -1;
		/**
		 * 信鸽token
		 */
		final int XG = 0;
		/**
		 * 小米regid
		 */
		final int XM = 1;

		/**
		 * im推送
		 */
		final int IM = 2;
	}



	/**
	 * 消息类型
	 * 
	 * @author: Fan Beibei
	 * @date: 2018年5月7日 下午8:50:58
	 */
	public static interface MessageType {

		/**
		 * 考勤之上班打卡提醒
		 */
		final int ATTENDANCE_CHECK_IN = 10;
		/**
		 * 考勤之下班打卡提醒
		 */
		final int ATTENDANCE_CHECK_OUT = 11;
		/**
		 * 考勤之上班迟到报警
		 */
		final int ATTENDANCE_LATER = 12;
		/**
		 * 考勤之今日迟到员工
		 */
		final int ATTENDANCE_LATER_COUNT = 13;
		/**
		 * 考勤之昨日缺卡
		 */
		final int ATTENDANCE_LACK_CHECK = 14;
		/**
		 * 考勤之本月异常考勤
		 */
		final int ATTENDANCE_ERROR = 15;
		/**
		 * 考勤之排班提醒
		 */
		final int ATTENDANCE_SCHEDULE = 16;
		/**
		 * 审批之审批提醒
		 */
		final int APPROVE_FOR_DEAL = 20;
		/**
		 * 流水提醒
		 */
		final int DEDUCT_NEW = 30;
		/**
		 * 会议室之会议室被抢
		 */
		final int MEETING_ROOM_BOOK_SUCCESS = 40;
		/**
		 * 工单消息
		 */
		final int WORK_ORDER = 50;


		/**
		 * 生日提醒
		 */
		final int BIRTHDAY = 61;

		/**
		 * 入职周年提醒
		 */
		final int JOB_YEAR_DAY = 62;


		/**
		 * 教师节提醒
		 */
		final int TEACHERS_DAY = 63;

		/**
		 * 爱尚家
		 */
		int AI_SHANG_JIA = 90;
	}

	/**
	 * logoUrl在字典表中的dict_group字段值
	 */
	public static final String LOGO_URL_DICT_GROUP = "message_logo_url";

	/**
	 * logoUrl在redis中的前缀
	 */
	public static final String LOGO_URL_PREFIX = "message_logo_url:";

	/**
	 * 
	 * app版本名称(3个数字均不会超过9)
	 * 
	 * @author: Fan Beibei
	 * @date: 2018年5月30日 上午11:29:31
	 */
	public interface AppVersion {

		 String V_1_1_0 = "1.1.0";
		 String V_1_1_1 = "1.1.1";
		 String V_1_1_8 = "1.1.8";
		 String v_1_1_9 = "1.1.9";
		 String v_1_2_7 = "1.2.7";

		 String v_1_3_2 ="1.3.2";

	}

	/**
	 * 
	 * 调用接口的系统名称
	 * 
	 * @author: Fan Beibei
	 * @date: 2018年5月30日 下午5:05:38
	 */
	public static interface Caller {
		/**
		 * 默认
		 */
		final String DEFAULT = "ehr";
		/**
		 * 员工系统
		 */
		final String EHR = "ehr";
		/**
		 * 工单
		 */
		final String WORK_ORDER = "workorder";

	}
	
	
	
	/**
	 * 工作消息类型
	 */
	public static String WORK_MESSAGE_TYPE_GROUP = "work_message_type";
	public static String WORK_MESSAGE_TYPE_REDIS = "message:filter_type";
	/**
	 * 工单消息接入的系统
	 */
	public static String WORK_MESSAGE_ACCESS_SYSTEM = "work_message_access_system";

	
	
	/**   
	 *   
	 * 账号类型
	 *    
	 * @author: Fan Beibei
	 * @date:   2018年6月5日 上午11:14:49   
	 */  
	public static interface AccountType{
		/**
		 * 员工ID
		 */
		final int EMPLOYEE_ID = 1;
		/**
		 * 263账号
		 */
		final int EMPLOYEE_263 = 2;
		/**
		 * 电话
		 */
		final int PHONE_NO = 3;


		/**
		 * userId
		 */
		final int USER_ID = 4;
	}
	
	
	/**
	 * 工作消息跳转
	 */
	public static final String WORK_MESSAGE_JUMP ="work_message_jump";
	public static final String WORK_MESSAGE_JUMP_REDIS ="message:jump:";
	
	
	public static interface MobileWorkMessageListQueryType{
		/**
		 * 首次进入工作消息列表查询
		 */
		final String FIRST_ENTER ="first_enter";
		/**
		 * 拉取未读工作消息
		 */
		final String PULL_UNREAD ="pull_unread";
		
		/**
		 * 拉取历史消息
		 */
		final String PULL_HISTORY = "pull_history";
		
	}
	


	public static interface OutInterfaceModel{
		/**
		 * 成功
		 */
		String SUCCESS_CODE = "1";
		/**
		 * 返回码的字段
		 */
		String CODE_FIELD = "rs";

		/**
		 * 数据字段
		 */
		String DATA_FIELD = "resultMessage";

	}
	
}
